package com.erd.datacollect.utils;

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64Util {
    /**
     * 对给定的字符串进行Base64编码。
     *
     * @param input 要编码的字符串。
     * @return 编码后的Base64字符串。
     */
    public static String encodeBase64(String input) {
        byte[] inputBytes = input.getBytes(StandardCharsets.UTF_8);
        return Base64.getEncoder().encodeToString(inputBytes);
    }

    /**
     * 对给定的Base64字符串进行解码。
     *
     * @param encodedBase64 编码的Base64字符串。
     * @return 解码后的字符串。
     */
    public static String decodeBase64(String encodedBase64) {
        byte[] decodedBytes = Base64.getDecoder().decode(encodedBase64);
        return new String(decodedBytes, StandardCharsets.UTF_8);
    }

    public static void main(String[] args) {
        String originalString = "这是一个需要进行Base64编码和解码的字符串。";
        String base64Str="eyJyZXF1ZXN0Qm9keSI6IkRCd3gxaVZ1Z3dndDBtUEg3RDVBUkp6bkx0OWdOdk1zQTQ4RWdQOXhrSU5iK1Y1UE5UN2xmem1tcXNHaksydE90TFh4QXNGUUdmYWhtNEpZelcwRytRPT0iLCJyZXF1ZXN0SGVhZCI6eyJtZXRob2QiOiJjaGVja1RpY2tldCIsInNpZ24iOiIzNmRjZWY3ZDcyZjlhMTJkZmZkYTE3YmZhZDc1OWEwZCIsImFwcF9pZCI6IjFkOWE0MmUwLTlkZTMtNDUxYi05OTY0LTRlOWY4ZTYyYjkwOCJ9fQ==";

        // 编码
        //String encodedString = encodeBase64(originalString);
        //System.out.println("Encoded String: " + encodedString);

        // 解码
        String decodedString = decodeBase64(base64Str);
        System.out.println("Decoded String: " + decodedString);
    }
}
